package com.jcfk.eam.domain.dto.mt;


import java.util.ArrayList;
import java.util.List;

import com.jcfk.eam.domain.dto.base.EamProductAssetModelDTO;
import com.jcfk.system.domain.dto.BaseDTO;
import org.hibernate.validator.constraints.Length;
import lombok.Data;

import java.util.Date;

/**
 * 量检具领用申请
 *
 * @author libinghai
 * @email 35738025@gqq.com
 * @date 2024-09-08
 */
@Data
public class EamMtUseApplyDTO extends BaseDTO {

    private static final long serialVersionUID = 1L;

    /**
     * 数据版本号
     */
    private Long version;

    /**
     * 申请类型;1:普通领用;2:换型领用
     */
    private Integer applyType;

    /**
     * 单据号
     */
    @Length(max = 32, message = "单据号长度不能超过32")
    private String recordCode;

    /**
     * 使用部门主键
     */
    @Length(max = 32, message = "使用部门主键长度不能超过32")
    private String receiveDepartmentId;

    /**
     * 使用部门
     */
    @Length(max = 50, message = "使用部门长度不能超过50")
    private String receiveDepartmentName;

    /**
     * 领用人主键
     */
    @Length(max = 32, message = "领用人主键长度不能超过32")
    private String receivePersonId;

    /**
     * 领用人
     */
    @Length(max = 50, message = "领用人长度不能超过50")
    private String receivePersonName;

    /**
     * 当前产品主键
     */
    @Length(max = 32, message = "当前产品主键长度不能超过32")
    private String currentProductId;

    /**
     * 当前产品名称
     */
    @Length(max = 50, message = "当前产品名称长度不能超过50")
    private String currentProductName;

    /**
     * 换型产品主键
     */
    @Length(max = 32, message = "换型产品主键长度不能超过32")
    private String changeProductId;

    /**
     * 换型产品名称
     */
    @Length(max = 50, message = "换型产品名称长度不能超过50")
    private String changeProductName;

    /**
     * 使用位置主键
     */
    @Length(max = 32, message = "使用位置主键长度不能超过32")
    private String usePlaceId;

    /**
     * 使用位置名称
     */
    @Length(max = 50, message = "使用位置名称长度不能超过50")
    private String usePlaceName;

    /**
     * 申请日期
     */
    private Date applyDate;

    /**
     * 申请原因
     */
    @Length(max = 50, message = "申请原因长度不能超过50")
    private String applyReason;

    /**
     * 备注
     */
    @Length(max = 255, message = "备注长度不能超过255")
    private String remarks;

    /**
     * 创建人
     */
    @Length(max = 50, message = "创建人长度不能超过50")
    private String createdUserName;

    /**
     * 更新人
     */
    @Length(max = 50, message = "更新人长度不能超过50")
    private String lastUpdatedUserName;


    /**
     * 当前产品检具清单
     */
    private List<EamProductAssetModelDTO> currentDetails = new ArrayList<>();

    /**
     * 换型产品检具清单
     */
    private List<EamProductAssetModelDTO> changeDetails = new ArrayList<>();

    /**
     * 领用检具清单
     */
    private List<EamProductAssetModelDTO> applyDetails = new ArrayList<>();

    /**
     * 批量删除id
     */
    private List<String> ids;

    /**
     * 申请数量
     */
    private Integer applyAmount;

}
